import { program } from "commander";
import fs from "fs";
import { resolve, dirname } from "path";
import { fileURLToPath } from "url";
import getLogo from "../utils/logo.js";

// import packageModule from "../../package.json" assert { type: "json" };

const packageJsonUrl = resolve(dirname(fileURLToPath(import.meta.url)), "../../package.json");
const packageJsonStr = fs.readFileSync(packageJsonUrl, "utf-8");
const packageModule = JSON.parse(packageJsonStr);

export function commandOptions() {
    // 0. 在帮助页打印 logo（commander.js 在主命令不提供任何内容时默认显示帮助信息）
    program.addHelpText("beforeAll", getLogo());

    // 1.处理--version的操作
    program.version(packageModule.version, "-v --version");

    // 2.添加其他的options的操作
    program.option("-n --name", "a kun cli program~");
    program.option("-d, --dest <dest>", "specify the destination folder. eg: -d src/components");

    // 3. 在帮助信息底部添加额外的信息

    program.addHelpText(
        "after",
        `

Example call:
$ custom-help --help`
    );
}
